package pos.Driving.Path;

import javax.vecmath.*;

/**
 *
 * @author plus
 */
public class PosPoint {
    public double d;            //里程位置
    public int path_ID;         //路径标号
    public boolean isSideway;   //是否将侧向通过下一个道岔
    public Point3d pos;         //坐标位置
    public double AngH, AngV;   //水平角度(相对于x轴正方向),垂直角度(相对于y轴正方向)
    public int PATH_TYPE;       //路径类型，用于自动生成周边场景
    public Object OtherInfo;        
    public final static int 
            PATH_SINGLE_TUNNEL=1,   //单圆盾构
            PATH_DOUBLE_TUNNEL=2,   //双圆盾构
            PATH_GROUND=3,          //地面线路
            PATH_GROUND_R=7,          //地面线路
            PATH_SINGLE_LIFT=4,     //单线高架
            PATH_DOUBLE_LIFT=5,     //双线高架
            PATH_STATION=6,         //车站
            PATH_OTHER=0;

    public PosPoint() {
        this.d=0;
    }

    public PosPoint(double d){
        this.d=d;
    }
    
    public PosPoint(double d, int PathID, Point3d pos, double AngH, double AngV, int PATH_TYPE) {
        this.d=d;
        this.path_ID=PathID;
        this.isSideway=false;
        this.pos = pos;
        this.AngH = AngH;
        this.AngV = AngV;
        this.PATH_TYPE = PATH_TYPE;
    }

    public PosPoint(double d, int PathID,Point3d pos, double AngH, double AngV, int PATH_TYPE, Object OtherInfo) {
        this.d=d;
        this.path_ID=PathID;
        this.isSideway=false;
        this.pos = pos;
        this.AngH = AngH;
        this.AngV = AngV;
        this.PATH_TYPE = PATH_TYPE;
        this.OtherInfo = OtherInfo;
    }

    public PosPoint(PosPoint p) {
        this.d = p.d;
        this.path_ID = p.path_ID;
        this.isSideway = p.isSideway;
        this.pos = p.pos;
        this.AngH = p.AngH;
        this.AngV = p.AngV;
        this.PATH_TYPE = p.PATH_TYPE;
        this.OtherInfo = p.OtherInfo;
    }
    
    
}
